package com.lainiao.request;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 *  request 作用域
 *      通过该对象（作用域对象、域对象），可以在一个请求中传递数据
 *  作用范围：
 *      一次请求中有效（请求转发跳转时有效）
 *  方法：
 *      1. 设置 域对象内容
 *          request.setAttribute(String name,Object value);
 *      2. 获取 域对象内容
 *          request.getAttribute(String name);
 *      3. 删除 域对象内容
 *          request.removeAttribute(String name);
 *
 */
@WebServlet("/rs")
public class request04_RequestScope extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("开始写入域对象...");

        // 设置 域对象内容
        request.setAttribute("name","梁非凡");
        request.setAttribute("age",18);
        List<String> list = new ArrayList<>();
        list.add("啵嘴");
        list.add("我要操你啊");
        request.setAttribute("list",list);

        // 请求转发
        // 到RequestScopeCopy
//        request.getRequestDispatcher("rsc").forward(request,response);
        // 到jsp，并通过域对象传递数据（html是静态页面，不能处理数据）
        request.getRequestDispatcher("RequestScope.jsp").forward(request,response);

    }
}
